$L;LHLELLLwL}}lhd`,($ NE$%A$% 0"$)$$H hLP , `e$$%`  R@P1   *  :.`GH`@1`  L:CDCH hC DD CDL"LLY  u$%8CC$$%%ݬ!0 $%%$% DDՙ` T { } " *)L *}M  L((  # LL(v)  M o L L( PL 0j  M} {.B o zyCvwx  > . 4 WLL )~>Le ^JJ p  }p r  .HH)!H # h . fhywwhyxx  PQA  A.L> L[ }*`/ ߰")+ H" $//G@LLL   L M  v #  } E`?{ `  L v) ꩧL > vyzL ` )L  }L G/ȘL08`"))8`0 G$Ș(` H8(()$}$%)з`$GȘ` }H)h?g H^ji "0("&hEEd "EiEȱEiE`h`hQEEd" ) E8EȱEE` }@  8E g QEEH.8 *h > `LLI $(I0G/IɛILI  } ; L CECȱE, CqECȊqEC I - G.G LsrotceS eerF vH0 C ) *,=,?, Gh)H}<, GȽ{G h>, GȄIwx GI`  d  L DC8CD} 0IGIDC`pih v=H*"" h0Ch h0!)C)з?{Щ }v08.`"%, $"$' HH`L n"7)0+0,)i ,0} !,"   F L  LEv,0Ȯ" $JJJȐy~Eʈ~E ʽ~Eȩ?E7Eȩ}E, 0EȩE P ` "d*J     4C?C%} (  4  C LL/ ,C v)Cv  LB, 4   wx0 }B,  PLL0AML ML NLLLNLML} AO  A0`.Ln((L,.!4" S } L) .!EF.ʎ. LG}H`}$0Z:ȩ$. ȩ "* ??/ɛ   Ýн .`L{L} .(`BDOS SYS $% $ɣ% HLhLzy.,")    8 I0} ` `  45 $ )?i@3245, 4224 ӤԠBX`F5*F5*4*4*Bx})%`0 g  0#\ o GGȽG  L `8H hL}8`  0(.G)G)ȱGȱG`L"!"L`v8v "i}xiipE` C "dEE8EF "h( (,0(`( dEFEi (} 0`Ƀ0..C/`C,"0)@D@ 3@ D@( "C8&C C8X` K o67}5 . /I   K ,90    L,7,60 ` il i L  VH h`,705@ 0 }76` nBKDE J V,70 0,6  $  bl.`2DE600  N1BJ } V0i,DEHIB V0K,=-8(DEHI V3 N,50 ,00H h` NH Nhll!},10)(1(DH)Eh*(+)*DELi*8(H+)IHI VL,50 L"}[$h7#D:AUTORUN.SYSD:BDUP.SYSE: B V BLV` 8#,#0 3A"!"L~L C#}ED$FCECEDFF@6I6 Ӣ@ԍ` )`   \`h@)]   $} B8 ɟ *I  M #I%}L_uuuuuu BDOS SYSB}%!B}03 2эԢ/Щ0021N1ԩ D1ҍѥҩѦ &12Х٢@ D1021Ѕх'} D1ҍѥҩѭ28(22Щ2 51Х-ɪ2_2 D1ԩ1>0ԩ31ԩԠԢ D1(}LtH ԍЩЩ!h@H ԍЭh@K12`K12``NP2fuerden#omputer:uha)}us-uelheim'neisenaustr4el倀&ilesbittemit*}dem!ssemblerladenЅѦнE2`)нF2ѝ2L 2E2Цѝ2ѦЈL 2pNPpbS1pppp bs1b1A2pN^N(P+}`bS1pppp bs1b1A2pNWpg1pppg1pppB1A>3ppppppNPpbS1pppp bs1,}b1A2ppppppN^N(PpbS1pppp bs1b1A2ppppppNW-}pppppg1pppg1pppb1A>3P_*#.} ?0/}0 *0} *(#??**** ?*** <?(( 1}  0??(( 0??((  0?? (  2}??? ( ( ??? ( (#??? ( ?3}?? ( ???? (  ?? ( 04} (  0 (  ( ( 5} ( (# ( ? ( ??6} (  ?? ( 0? (  0?7} (  ?(( ( ?(( (#?(( 8} ?** ??**  ?? * 9}0?? 0 ( :}(#;} *0?<}=}*#>} ??}00 @} * #*  * A}< 00B}0**????** ????**C}#????**????**????? ** ?D}?? **0??* **0??* **E}?? *( ?? *(#??**??F}?**????** ????**0???G}**0???**??? ??H}#????* ???* I} ??? * 0?? 0J} #K} *0?L}M}N}0ERʑ -;SECTOR.ASM";STARTPROGRAMMFUERDENSEKTOR(;KOPIERER.DIESEDATEIMUSS2;ASSEMBLIERTWERDEN.<-!F;NP}ACHFOLGENDNUNDIEINCLUDE-"P;DATEIEN.SIEWERDENINDIESER"Z;REIHENFOLGEBEIMASSEMBLIERENd;ZUSAMMENGEFUEGT.n;DERQ}SEKTORKOPIERERKANNx;DIREKTINDENSPEICHER";ASSEMBLIERTWERDEN.DAZUMUSS ;INDERDATEISECTOR.ASMNUR#;DIEZER}ILEMIT.OF"D:SCOPY.COM";GELOESCHTWERDEN.SIEKOENNEN;DASFERTIGEPROGRAMMDANN ;VOMASSEMBLERAUSMITRUNS ;S}STARTEN! ;ACHTUNG!DERASSEMBLERWIRD;VOMPROGRAMMZERSTOERT! ;SICHERNSIEIHREDATENALSO";VORDEMPROGRAMMSTART}TAUFDIE ;DISKETTE!NICHTRAMDISK,DA#;DIESEEBENFALLSGELOESCHTWIRD-;COPY1.ASM;COPY2.ASM!";HAUPTPROGRAU}MM,INZWEITEILE,;UNTERTEILT.6-@;DSKSYS.ASMJ;HIGH-SPEED-ROUTINE-;COPY1.ASM;COPY2.ASM!";HAUPTPROGRAM00010 ------------------------------00020 ;SECTOR.ASM00030 ;STARTPROGRAMM FUER DEN SEKTOR00040 ;KOPIERER. DIESE DATEI MUS W}S00050 ;ASSEMBLIERT WERDEN.00060 ------------------------------00070 ;NACHFOLGEND NUN DIE INCLUDE-00080 ;DATEIEN. SIE WER X}DEN IN DIESER00090 ;REIHENFOLGE BEIM ASSEMBLIEREN00100 ;ZUSAMMEN GEFUEGT.00110 ;DER SEKTOR KOPIERER KANN00120 ;DIREKT IN Y}DEN SPEICHER00130 ;ASSEMBLIERT WERDEN. DAZU MUSS00140 ;IN DER DATEI SECTOR.ASM NUR00150 ;DIE ZEILE MIT .OF "D:SCOPY.COM00 Z}160 ;GELOESCHT WERDEN. SIE KOENNEN00170 ;DAS FERTIGE PROGRAMM DANN00180 ;VOM ASSEMBLER AUS MIT RUN S00190 ;STARTEN!00200 [};ACHTUNG! DER ASSEMBLER WIRD00210 ;VOM PROGRAMM ZERSTOERT!00220 ;SICHERN SIE IHRE DATEN ALSO00230 ;VOR DEM PROGRAMMSTART A \}UF DIE00240 ;DISKETTE! NICHT RAMDISK, DA00250 ;DIESE EBENFALLS GELOESCHT WIRD00260 ------------------------------00270 ;C ]}OPY1.ASM00280 ;COPY2.ASM00290 ;HAUPTPROGRAMM, IN ZWEI TEILE00300 ;UNTERTEILT.00310 ------------------------------00320 ; ^}DSKSYS.ASM00330 ;HIGH-SPEED-ROUTINETPROGRAMM, IN ZWEI TEILE00300 ;UNTERTEILT.00310 ------------------------------00320 ; %ER .LIOFF.OR$2F00.OF"D1:SCOPY.COM"(-2*********************<**SECTORCOPYMAIN**F************`}*********P-ZSSEISTARTROUTINEdLDA#0SchiebtPro-nTAYgrammunterxSTY$D40EdasBetriebsSTA$F0Systea}m STA$F2 LDA#$E0 STA$F1LDA#$30E000->3000 STA$F3.1LDA($F0),YSTA($F2),YINYBNb}E.1ZeichensatzINC$F3nach$3000 INC$F1 LDA$F1CMP#$E4bisE400 BNE.1LDA$D301"AND#$FEOc}Saus,ORA#2Basicaus6STA$D301 @LDY#0 JLDA#$F0 TSTA$F1^LDA#$303000->F000 hSTA$F3r.2LDAd}($F2),Y|STA($F0),YINY BNE.2INC$F3ProgrammINC$F1unterOSLDA$F1schieben BNE.2LDYe}#ENRES-RESET.3LDARESET,YSTA$100,YDEYSystem-ResetBPL.3RoutinenachINY$100kopieren STY$244f} STY$CINY STY$9 &STY$D0JMP$100ZumProgramm:-DRESETSEISystem-ResetNSTA$D40F XLDA#0g}bTAYl.1STA$D400,YHardware-vSTA$D000,YRegisterSTA$D200,YloeschenINY BNE.1LDA$D301ANDh}#$FEOSaus ORA#$FCSTA$D301LDA#$22BildschirmSTA$D400normalLDA#$F0$F000=STA$D409CHRBASi}E LDA#2STA$D401CHACTL LDA#3 STA$D20FSIO-Status LDA#$40 STA$D40ENMIEN*JSRCLRTITimeout-j}4;Vectorloeschen>JMPSCOPYSTART HENRESR-\.OR$F400f.TA$3400p*z.IN"D:COPY1.ASM.IN"D:COPYk}2.ASM.IN"D:DSKSYS.ASM-DISPLY.BL$F0;DSBUF.BL$50-!END;EndedesSector-Copiers-.OR$l}FFFA.TA$3FFA*.DAPNMINMI-Vector.HX0000Reset-Vector;wirdnichtbenoetigt.DARETIRQIRQ-Vectorm}$-..OR$2E0FileStart 8.DASB-or.HX0000Reset-Vector;wirdnichtbenoetigt.DARETIRQIRQ-Vector-ERia -*************COPY1**(***********2-<;#F;ZERO-PAGEVARIABLENFESTLEGEN!P;DAKEINBETRIEBSSYSo}TEMMEHR!Z;VORHANDENIST,KOENNENFAST"d;ALLEADRESSENBENUTZTWERDENn;xSOURC=$70SOUST=$72DESTN=$71p}DESST=$73FORMT=$74RETRY=$75RAMDSK=$76BYT1=$7A/$7BEQUAL=$7CDENS=$7DCFIRST=$7q}ESPFLAG=$7F*SPTBL=$1C-$1FRSECA=$60/$61RSECB=$62/$63RSECC=$64/$65"*,BANKS=$6r}66BANKNR=$67@MAXBANK=$68JSPBYT=$69THIMEM=$6A^*hSLEFT=$37rSROW=$38|SSKIP=$39FBYT=$s}3ADLEFT=$3BDROW=$3CDSKIP=$3DFINC=$3EFFIRST=$3F*DUNIT=$21DCOMND=$22DSTATS=t}$23DBUFLO=$24DBUFHI=$25DTIM=$26DBYTLO=$28DBYTHI=$29DSECLO=$2A&DSECHI=$2B0;:PORu}TB=$D301DTSTBYT=$4000N;X;ABLOMEMKOENNENDATENb;ABGELEGTWERDENl;vLOMEM=$400-;;DIEDIv}SPLAY-LISTDES;SECTOR-KOPIERERS;DLIST.HX70707046 .DALINE .HX47 .DAHTEX.HX40061046 .DAw}LINE .HX7042.DADISPLY.HX30023070027050 .HX02702002702002702046 .DALINE .HX46*RWLINE.DASx}ETUP 4.HX1046 >.DALINE H.HX41R.DADLIST\-f;p;TEXTEIMBILDSCHIRMFORMATz;#HTEX.AT" sectorcy}opy  " .AT-" p  ereuss "#LINE.AT"--------------------"!SETUP.AT-" einstellen "%FMATIN.ATz}-" formatieren "%INSOUR.AT-" original diskette"%INDEST.AT-" ziel diskette "%INBOTH.AT-" disketten {}einlegen"#DSKERR.AT-" disk fehler  "&READIN.AT-" sector "-; ;STARTDESSEKTOR-KOPIERERS|};SCOPYLDX#$FFTXS$SEI.LDA#DLISTDISPLAY-8STA$D402LISTSETZENBLDA/DLISTLSTA$D403 VLDY}}#4`.1LDACOLTB,YFARBENjSTA$D016,YSETZENtDEY ~BPL.1STYRAMDSKLDA/SETUPSTARWLINE+1JSR~}CLRSCRBILDSCHIRMLDX#4LOESCHENSTXRETRYLDA#$28HIGH-SPEED.2STASPTBL-1,XTABELLE DEXAUFBNE}.2STANDARDSTXFORMT;!;TESTENOBEINERAMDISKVOR- ;HANDENISTUNDWIEGROSS;DIESEIST;(LDX#$8}0KLEINE2.3LDA$D40BVERZOEGERUNG <BNE.3FDEX PBPL.3ZSTXTSTBYTdDEXnSTXPORTBxLDY#$F16BANKS}STYMAXBANK.4LDYMAXBANKJSRSWITCHDATENINSTYTSTBYTBANKSDECMAXBANKSCHREIBEN BPL.4 LDA}#$FESTAPORTB* LDY#0 STYBYT1STYMAXBANK*LDATSTBYTRAMDISKCMP#$FFVORHANDEN?BNEM}TEST"*,.5LDYMAXBANK 6CPY#$10 @BCS.6JJSRSWITCHDATENAUSTLDATSTBYTRAMDISK^CMPBYT1AUSLESENh}BMI.6UNDDABEIrSTABYT1MAXIMALE|INCMAXBANKANZAHLDERJMP.5BANKS.6LDA#$FEFESTSTELLENSTAPORTB}BNEMTEST*SWITCHLDAPORTBBANKAND#$23EINSCHALTENORABANKTB,YSTAPORTBRTS-;;RA}MDISKBANK-TABELLE!;FUERCOMPY-SHOPRAMDISKUND;130XERAMDISK;&BANKTB.HXCCC8C4C08C8884800.HX4C4844400}C080400:- DMTESTN*64K->00X*128K->04b*192K->08l*320K->10v-;;TESTOBEINECARTRIDGEIM};RECHNERSTECKT;NO64KLDA#$80LDY$8000INC$8000CPY$800016K?BEQCHRAM LDA#$A0LD}Y$A000INC$A000CPY$A0008K?BEQCHRAM LDA#$C0CHRAMSTAHIMEM -*;4;TESTENWIEVIELELAUFWER}KE>;ANGESCHLOSSENSINDUNDOB H;DIESELAUFWERKEHIGH-SPEEDR;FAEHIGSIND\;fLDA#1ABDRIVE1pJSRHSCHKT}ESTEN zBCC.1JMPSCOPYKEINEDISK.1STYSOUSTSTATUSLDADUNITSTASOURCORIGINALORA#$10INATASCII} STASDNRLDX#$40KLEINELDY#0ZEIT-.2DEYVEZOEGERUNG BNE.2DEX BNE.2LDXDUNITDRIVE } INX+1 TXA JSRHSCHKTESTEN $ BCS.3. LDADUNIT 8 BNE.4B .3LDASOURCORIG=ZIELL LDYSOUSTV .4STAD}ESTN` STYDESSTj ORA#$10INATASCII t STADDNR~ ; ;MENU-BILDSCHIRMAUFBAUEN ; STARTJSRCLRSCR LDY#}8 JSRTXTOUT" .AT"Original Laufwerk.... D" SDNR.AT"1" .HXEA LDY#48 JSRTXTOUT" .AT"Ziel Laufwe}rk........ D" DDNR.AT"1" .HXEA ; STA2LDX#SETUP STXRWLINE ( LDY#1202 JSRCLRSC1< ; F LDY#94}P JSRTXTOUTZ .AT"Speicher: " d .HXEAn LDAHIMEM=C0/A0/80 x AND#$60 LSR:8 LSR LSR=18/14/10 }LDXMAXBANK CPX#44BANKS BCC.1 CLC ADC#12 .1CPX#88BANKS BCC.2 CLC ADC#12 .2CPX#}$1016BANKS  BCC.3 CLC  ADC#12 " .3TAX, LDA#4SPEICHER-6 STABYT1GROESSE@ .4LDAMEMTB,XANZEIGENJ} STADISPLY,YT INY^ INX h DECBYT1 r BNE.4| * LDARAMDSKDATENIN BNEBEF0RAMDISK? LDY#125 J}SRTXTOUT .AT""! .AT".Von Ramdisk schreiben" .HXEA JMPBEF1 BEF0LDASOURCORIG=ZIEL? CMPDE}STN BEQBEF1 LDY#125 JSRTXTOUT .AT""! .AT".Laufwerke austauschen"  .HXEA& BEF1LDY#165}0 JSRTXTOUT: .AT""D .AT".....Formatieren: " N .HXEAX LDAFORMTFORMATFLAG b BEQBEF2l JSRTXTOU}Tv .AT"NEIN" .HXEA BEQTXCOP BEF2JSRTXTOUT .AT" JA " .HXEA TXCOPLDY#205 JSRTXTOUT .}AT""" .AT"......Diskette kopieren" .HXEA ; GETBEFJSRGETKEY CMP#5SELECT? BEQFORMAT CM}P#6START? BEQGOCOPY LDARAMDSKDATENIN* BEQWFRDRAMDISK?4 ;> EXCHANLDYSOURCOPTION-H LDXDESTNTAS}TER STYDESTN\ STXSOURCORIGINALf TYAUNDZIELp ORA#$10TAUSCHEN z STADDNR TXA ORA#$10 STASDNR} LDYSOUST LDXDESST STYDESST STXSOUST JMPSTART ; WFRDLDY#203VONRAMDISK STYDLEFTSCHREI}BEN LDX#$FF STXCFIRSTINX STXDROWSTXDSKIP$STXEQUAL.STXFFIRST 8LDY#120BJSRCLRSC1}LLDY#120ALTEANZEIGEVWFR1LDADSBUF,XSETZEN`STADISPLY,YjINXtINY ~CPY#200 BNEWFR1 LDA#$37}STADISPLY+201JMPWRITERZUR;SCHREIBROUTINE;FORMATLDAFORMTFORMATFLAGEOR#$FFINVERTIERENSTA}FORMT JMPSTA2;GOCOPYLDASOURCSTARTCOPYEORDESTN STAEQUALORG=ZIEL* LDY#6 (LDA#02S}TASPFLAGPOINTER<STAFFIRSTLOESCHENF.1STASLEFT,YPDEY ZBPL.1dSTYCFIRSTnLDA#163SCREEN-xSTASL}EFTPOSITIONENLDA#203DERBALKENSTADLEFTSETZEN LDY#120JSRCLRSC1 LDA#$32STADISPLY+161 L}DA#$37STADISPLY+201STARETRYLDX#1SEKTOR1STXRSECADEXSTXRSECA+1;BEGINLDAEQUALOR}G=ZIEL? BEQ.2"LDX#INBOTH"BEIDE DSK,LDA#$20EINLEGEN"6.1STXRWLINE@LDA#$20AUFTASTEJJSRHITRETW}ARTENTCMP#6START? ^BEQ.3hJMPSTA2ZUMMENUr.2LDX#INSOUR"ORIGINAL|BNE.1EINLEGEN".3LDACFIRST1}.DURCH-BMI.4GANG? JMPCOP3.4LDA#$53STATUS...STADCOMNDLDA#44BYTESSTADBYTLOLDA#$40}READSTADSTATSJSRSETBUFLDYSOURCJSRMOVSLOSIO....LDY#133SCRPOSJSRTXTOUT.AT"Density:} " .HXEA&LDALOMEMSTATUSBYTE 0AND#$A0:STADENSMERKENDAND#$80MEDIUM?NBNEMEDIUMXLDA#5INCR}EMENTbSTAFINCFUERBALKENlLDALOMEMvAND#$20DOUBLE?BNEDOUBLE STADENSJSRTXTOUT.AT"SINGLE}" .HXEAJMPCOPZD;MEDIUMLDX#8 STXFINCJSRTXTOUT.AT"MEDIUM" .HXEABEQCOPZD;} DOUBLEJSRTXTOUT.AT"DOUBLE" .HXEA*;4;BEISPEEDY1050KANNMIT>;2LAUFWERKENDIEZIELDISK!H;FORMAT}IERTWERDEN,WENNDASR;ORIGINALEINGELESENWIRD\;fCOPZDLDAEQUALpBEQCOP3ORG=ZIELzLDAFORMTBNECOP3}NOFORMATBITDESSTBPLCOP3NOSPEEDYJSRSETDENDENSITYSECSETZENJSRSETVERVERIFYAUSTYA BM}ICOP3JCOPLDA#$20COMMAND20STADCOMNDAUTO-FORMAT LDA#0STADSTATSLDYDESTNJSRMOVSLOSIO...}TYA BPLFFOK$JSRERRORFEHLER.BCCJCOPVERSUCH?8JMPSTA2NEUSTARTB;LFFOKINCFFIRST1.DURCHG.VCOP}3LDARSECASTART-`STARSECCSEKTORjLDARSECA+1MERKENtSTARSECC+1~LDYSOURCORG-DRIVESTYDUNITBIT}SPFLAGHI-SPEED BPL.1LDA#$28SLOWSTASPTBL-1,Y.1JSRSETBUFBUFFER.2LDXSLEFTSETZEN LDYSROW}LDASSKIPJSRDFUELBALKENSTASSKIPAKTUALI-STYSROWSIERENSTXSLEFT .3LDX#READIN"LESE -"STX}RWLINELDA#$40GETBYTES(STADSTATS2LDARSECASEKTOR#<STADSECLOFLDARSECA+1PSTADSECHIZLDA#$52}READdSTADCOMNDnJSRSETLENLAENGExJSRMASTERSIO... BCC.5BITSPFLAGERROR? BPL.4JSRERROR}CMP#6START? BEQ.3CMP#5SELECT? BEQ.5JMPSTA2NEUSTART;.4LDYDUNITLDASPTBL-1,YS}TASPBYT LDA#$28STASPTBL-1,YDECSPFLAG "BNE.3,.5JSRENDCHKENDE? 6BCC.2@;J;DATENSCHREIBE}NT;^WRITERLDARSECASTART-hSTARSECBSEKTORrLDARSECA+1|STARSECB+1LDAEQUALORG=ZIEL?BNECOPW1}LDX#INDEST"ZIELSTXRWLINEEINLEGEN" LDA#$20JSRHITRETTASTE...CMP#5OPTION?BCC.1VERIFY:}LSRSELECT=EINJSRSETVERSTART=AUSJMPCOPW1.1JMPSTA2NEUSTART;COPW1LDARSECCSTART-STARSECA}SEKTORLDARSECC+1&STARSECA+10LDADESTNZIELDRIVE:STADUNITDBITSPFLAGSLOW? NBPL.1XLDYSOURC}bLDASPBYTlSTASPTBL-1,Yv.1LDACFIRST1.DURCHG.?BPLNOFORMLDAFFIRSTFORMATOK?BNENOFORMLDAFO}RMTNOFORMATBNENOFORM.2LDX#FMATIN"FORMAT.."STXRWLINELDADESST BPL.3JSRSETDENDENSITY.}3LDA#$80SETZENSTADBYTLO$80BYTESLDA#$22COMMAND22BITDENSMEDIUM? BMI.5LDADENSDOUBLE? }BEQ.4*ASLDBYTLO$100BYTES4.4LDA#$21COMMAND21>.5STADCOMNDHLDA#$D5$D500RSTADBUFHIBUFFER \LDA}#$40fSTADSTATSSTATUSpLDYDESTNzJSRMOVSLOSIO...TYABPLNOFORMFORMATOKJSRERRORBCC.2WEI}TERJMPSTA2NEUSTART;NOFORMLDA#$50PUTBYTESTADCOMNDINCCFIRST1.DURCHG.JSRSETBUFBUFFER.1}LDX#READIN"LESE-"STXRWLINE LDA#$80STADSTATSSTATUSLDARSECASTADSECLO$LDARSECA+1.STAD}SECHISEKTOR#8JSRSETLENLAENGEBJSREMPTYSEKTORLBCS.2LEER?VJSRMASTERSIO...`BCC.2ERROR?jJSR}ERRORtBCC.1WEITER~JMPSTA2NEUSTART;.2LDXDLEFT LDYDROWLDADSKIPJSRDFUELBALKENSTADS}KIPAKTUALI-STYDROWSIERENSTXDLEFTJSRENDCHKENDE? BCC.1PHPLDADESST BPL.3 LDA#$51}COMMAND51STADCOMNDMOTORSTOP LDA#0(STADSTATS2LDYDESTN<JSRMOVSLOSIO... F.3PLPPBEQDONEDI}SKENDEZLDARSECBdSTARSECAENDSEKTORnLDARSECB+1MERKENxSTARSECA+1LDAEQUALORG=ZIEL? BNE.4J}MPBEGIN.4JMPCOP3WEITER...-SEKTORnLDARSECB+1MERKENxSTARSECA+1LDAEQUALORG=ZIEL? BNE.4J'ER$ -**COPY2**-(;"2;LAUFWERKS-DENSITYEINSTELLEN!<;MEDIUMMUSSBEIAUTO-FORMATF;GESETZTWERDEN.}P;ZSETDENLDADENS dBEQ.2 nBPL.1xLDX#SETMDMEDIUMLDY/SETMD BNE.3.1LDX#SETDDDOUBLELDY}/SETDD BNE.3.2LDX#SETSDSINGLELDY/SETSD.3STXDBUFLOSTYDBUFHILDA#$4FCOMMAND4FSTADCOM}NDLDA#$C12BYTESSTADBYTLOLDA#$80SENDENSTADSTATSLDYDESTNDRIVE"JMPMOVSLOSIO...,-6;}@;FORMAT-VERIFYEIN-ODERJ;AUSSCHALTENT;^SETVERLDA#$10 hBCS.1rORA#$20SEKTORLOW|.1STADSECLO }LDA#0STADSTATSSTATUSLDA#$44COMMAND44STADCOMNDLDYDESTNDRIVEJMPMOVSLOSIO...-;};KOPIERENBEENDET;DONELDY#120LDX#0DISPLAY.1LDADISPLY,YRETTENSTADSBUF,XINXINY &CPY}#200 0BNE.1:LDACFIRSTANZ.DSTARAMDSKDURCHG.N;X;ENDE-SOUNDb; lLDA#0vSTA$D208AUDCTL LDY}#$EF.2STY$D201AUDC1 STYBYT1 JSRLLL LDYBYT1DEY CPY#$DF BNE.2JMPSTA2NEUSTART;}LLLLDX#$8.1STX$D200AUDF1 LDY#$0 .2DEY BNE.2INX CPX#$50 *BNE.14RTS>-H;R;}DATENLAENGESETZEN\;SEKTORNUMMERAUSGEBENf;pSETLENLDA#$80zSTADBYTLO$80BYTES LDA#0STADBYTHI }LDY#30LDADSECHIJSRHXOUTSEKTORHILDADSECLOJSRHEXOUTSEKTORLO LDADENSCMP#$20DOUBLE? }BNE.2LDADSECHI BNE.1LDADSECLOCMP#4SEKTOR<4 BCC.2.1ASLDBYTLO$100BYTES$ROLDBYTHI }..2RTS8-B;L;SIO-AUFRUFEN/2VERSUCHEV;`MASTERLDA#22VERSUCHE jSTABYT1tLDADSTATSSTATUS~STA}BYT1+1MERKEN .1JSRUSBPL.2KEINERRORLDABYT1+1STATUSSTADSTATSZURUECKDECBYT1LETZTERBNE.}1VERSUCH?STYDSTATSSECRTSFEHLER .2CLCRTSKEINFEHLER-;! ;KOMMANDOINNORMALERUEBER-};TRAGUNGSRATESENDEN;(MOVSLOSTYDUNIT2LDASPTBL-1,Y<PHA FLDA#$28PSTASPTBL-1,YZJSRMASTERdLD}XDUNITnPLAxSTASPTBL-1,XRTS-ENDCHKBITDENSMEDIUM? BPL.1LDARSECA CMP#$10BNE.2SE}KTORLDARSECA+1$410CMP#4ERREICHT? BNE.2SECRTS.1LDARSECASEKTORCMP#$D0$2D0BNE.2}ERREICHT?LDARSECA+1 "CMP#2 ,BNE.26SEC@RTSJ.2INCRSECASEKTOR+1 TBNE.3^INCRSECA+1h.3LD}ADBUFLOBUFFERrCLC+LAENGE=|ADCDBYTLOBUFFERSTADBUFLOLDADBUFHIADCDBYTHISTADBUFHIBITBA}NKSDATENINBMISAVBNKRAMDISK?TAYINY$F000? CPY#$F1 BEQ.6CPY#$D1$D000? BEQ.5CPYHI}MEMMEMTOP? BNE.4LDA#$C0BUFFER=STADBUFHI$C000 &LDA#00STADBUFLO :.4CLCDBCCENDC3N.5LDA}#0BUFFER=XSTADBUFLO$D800 bLDA#$D8lSTADBUFHIvCLCBCCENDC3;.6LDAMAXBANKENDEBNESWBANK}RAMDISK?ENDRAMSECENDC3LDA#$FFRTS-;#;BANKEINSCHALTEN/BUFFER=$4000;SWBANKLDY#$FFSTY}BANKSINY STYBANKNRSWB0LDAPORTB AND#$23*ORABANKTB,Y4STAPORTB>LDA#0BUFFER=HSTADBUFLO}$4000 RLDA#$40\STADBUFHIfCLCpBCCENDC3z-SAVBNKCMP#$80ENDEBCCENDC3RAMBANK?INCBANKNRB}ANK+1LDYBANKNRCPYMAXBANKENDEBEQENDRAMRAMDISK? BNESWB0-;!;DISKBUFFERAUFLOMEMSETZEN};RAMBANKSABSCHALTEN;SETBUFLDA#LOMEM STADBUFLO LDA/LOMEM STADBUFHI $ LDA#0. STABANKS8 LDA}PORTBCPUB ORA#$10ZUGRIFFL STAPORTBAUSV RTS` -j ;"t ;FEHLERMELDUNGUNDFEHLERNUM-#~ ;MERAUSGEBEN/AUFT}ASTEWARTEN ; ERRORLDX#DSKERR"FEHLER.." STXRWLINE LDY#15POS.15 LDADSTATSNUMMER JSRHEXOUT L}DA#$80 JSRHITRETTASTE? BEQ.1 SEC RTS .1CLC RTS - ; ;HEXZAHLIMACCUUMWANDELN ( ;UND}INTEXTZEILEEINSETZEN2 ;< HEXOUTPHAHIGHF LSRNIBBLEP LSRZ LSRd LSRn JSRHXOUT x PLALOW AND#$F}NIBBLE HXOUTCMP#$A BCC.1 ADC#6 .1ADC#$D0 STADSKERR,Y INY RTS - ;" ;BALKENPOSITIONA}KTUALISIEREN ; DFUELSTYFBYT TAY INYEINSCHRITT CPYFINCWEITER? " BCC.2 , LDYFBYT6 INY @ CPY}#4 J BCC.1T INX ^ LDY#0h .1LDAFTAB,YZEICHENr STADISPLY,XSETZEN | LDA#0 RTS .2TYA LDYFBYT} RTS - ;# ;BALKENSETZTSICHAUSGRAFIK-# ;ZEICHENZUSAMMEN"   " ; FTAB.HX5659C280 ; ;} ; COLTB.HXFA8A10CA10 ; ;TEXTEDERSPEICHERGROESSE& ;16K/8K/OHNECARTRIDGE0 ; : MEMTB.AT"40k 48k 56k }"64KD .AT"104k112k120k"128KN .AT"168k176k184k"192KX .AT"296k304k312k"320Kb -l ;"v ;LAUFWERKKONFIGURATI}ONSDATEN" ;SINGLE/DOUBLE/MEDIUM-DENSITY ; SETSD.HX2800001200000080 .HXFF000000 SETDD.HX2800001200040100} .HXFF000000 SETMD.HX2800001A00040080 .HXFF000000 - ; ;TESTENOBALLEBYTESIM ;BUFFERNULLSIND} ; EMPTYLDAFORMTFORMATFLG BNEEMP2 LDADBUFLOADRESSE STAEMPVEC+1* LDADBUFHI4 STAEMPVEC+2 > LD}Y#0H EMPVECLDA$AAAA,Y R BNEEMP2\ INYf CPYDBYTLOALLEBYTESp BNEEMPVECGETESTET?z SEC RTS EMP2CL}C RTS - ; ;TEXTANPOSITIONIMY-REG.! ;AUSGEBEN/ENDKENNUNG=$EA ; TXTOUTPLATEXTADRESSE STA$}43VOMSTACK PLA STA$44 .1INC$43ADRESSE+1 BNE.2 INC$44 .2LDX#0$LDA($43,X).CMP#$EATEX}TENDE? 8BEQ.3BSTADISPLY,YLINY VBNE.1`.3JMP($43)ZURUECKj-t;~;BILSCHIRMLOESCHEN;CLRS}CRLDY#0CLRSC1LDA#0.1STADISPLY,YINYCPY#$F0LAENGE$F0 BNE.1RTS-; ;TONAUSGEBEN}UNDAUFTASTE ;WARTEN; HITRETSTA$D200AUDF1 LDY#$EF.1LDX#$FF(.2STX$D40A2DEX <BNE.2FD}EYPSTY$D201AUDC1 ZCPY#$E0 dBNE.1nJSRGETKEYTASTE?xRTS-;;AUFEINEFUNKTIONSTASTE ;WART}EN;GETKEYLDA$D01FCMP#7KEINEBNEGETKEYTASTE? LDX#0.1DEXZEITVERZ.STX$D40A BNE.1}.2LDA$D01FTASTECMP#7ENTPRELLEN BEQ.2 LDY#$40".3STA$D40A,STY$D01F6DEY @BNE.3 JSTY$4}DTRTSACCU=TASTE^-P#7ENTPRELLEN BEQ.2 LDY#$40".3STA$D40A,STY$D01F6DEY @BNE.3 JSTY$4ER -**************DSKSYS**(************2-<;#F;LAUFWERKTESTENOBHIGH-SPEEDP;MOEGLICHISTZ};dHSCHKSTADUNITDRIVENR.nLDA#$3FCOMMAND3FxSTADCOMND LDX#0INXSTXDBYTLO1BYTE LDA#$40}STADSTATSGETBYTEJSRSETBUFBUF.=LOMEMJSRUSSIO... TYAOK BPL.2CMP#$8BNODRIVE? BEQ.1}INCDUNITDRIVE+1LDADUNITCMP#5DRIVE5?BCCHSCHKWEITER...SEC"RTS ,.1LDY#06CLC@RTSJ;}T.2LDALOMEMHIGH-SPEED^LDYDUNIThSTASPTBL-1,YMERKEN rLDY#$FF|CLCRTS-;;UNIVERSELLESI}O-ROUTINE;USLDYDUNITDRIVENR.TYA ORA#$30 STA$23ALDADCOMNDKOMMANDO STA$23BLDADSECL}OSEKTORLO STA$23CLDADSECHISEKTORHI STA$23DLDASPTBL-1,YSPEEDIN&STA$D204AUDF3 0LDA#0:}STA$D206AUDF6DTSXSTACKNSTX$318RETTENX;bIO11LDARETRYVERSUCHElSTA$36SETZENvIO12LDA#0 STA$}30 STA$319 LDA#$3ASTA$32BUFFER$23A LDA#2 STA$33 LDA#4 STA$34LDA#$34COMMAND=}STA$D303LOWJSRSEND1COM.SENDENLDADBUFLOSTA$32BUFFERLDADBUFHISETZEN STA$33LDADBYTLOLA}ENGE STA$34*BITDSTATS4BPLIO2SENDEN?>JSRSEND1HIO2DEC$319RJSRSETTI1TIMEOUT\BITDSTATSSETZE}NfBVCIO3EMPFANGEN? pJSRGET1zIO3LDA#$A0STA$D207SOUNDAUS LDA$10STA$D20EJSRCLRTITIMEOUT}LDY$30LOESCHENSTYDSTATSSTATUSRTS-SEND1LDX#$80 .1DEX BNE.1LDA#$23FUNKTION=JS }RPOKEYSENDEN LDY#0LDA($32),Y STA$31$STA$D20DBYTESENDEN ..2INY8CPY$34ENDE?BBEQSENOUTL }LDA($32),YBUFFERVJSRPUTBYTSENDEN`JSRCHKSUMjJMP.2WEITER...t;~SENOUTLDA$31CHECKSUMMEJSRPUTB }YTSENDEN.1LDA$D20E AND#8 BNE.1 LDX#0LDY#3TIMEOUTJSRSTOUTSETZENLDA#$C0IRQ-STATUS }STA$D20ESETZENJMPRECEIVWARTEN...-GET1LDA#0CHECKSUMMESTA$31LOESCHEN LDY#0.1JSRGETBYTD }ATENBLOCKSTA($32),YEMPFANGEN(JSRCHKSUM2INY <CPY$34 FBNE.1PJSRGETBYTCHECKSUMME ZCMP$31dB}NEERR8AERRORnRTSx;ERR8ALDA#$8AFEHLERERRO1STA$30AUSGEBEN LDX$318TXSBIT$319RETRY? B}MI.1 DEC$36 BEQ.1JMPIO12WEITER.1JMPIO3ENDE-;;TIME-OUTSETZENUNDAUF;RUECKMELDUNG}WARTEN;SETTI1LDXDCOMNDCOMMAND"CPX#$50=FORMAT,BCSSETTI26LDX#10CA.1MIN.@BNESETTI3JSETTI2L}DX#1TSETTI3LDY#$60CA.7MIN^JSRSTOUTTIMEOUT h*SETZENrRECEIVLDA#$13LESEN|JSRPOKEY LDA#$3CS}TA$D303AUFBYTEJSRGETBYTWARTENCMP#$41"A"BEQCLRTICMP#$43"C"BEQCLRTICMP#$45"E"BE}QERR90LDA#$8B"N"BNEERRO1FEHLER139ERR90LDA#$90FEHLER144 STA$30*CLRTILDY#0TIME-OUT}LDX#0LOESCHEN&STOUTLDA#ERR8ATIMER10STA$226VEKTOR:LDA/ERR8ASETZEN DSTA$227N*XTXA bLDX#3l}.1STA$D40AvDEXBNE.1TIMER1STA$219WERTSTY$218SETZENRTS-CHKSUMCLCCHECKSUMMEADC}$31ADDIEREN ADC#0 STA$31RTS-;!;BYTEVOMLAUFWERKEMPFANGEN; GETBYTLDA$D20EBYTEDA? }AND#$20 BNEGETBYT*LDA#$DFCLEAR4STA$D20EIRQ-FLAG >LDA#$F8HSTA$D20ERLDA$D20F\STA$D20AI/O-}ERROR fBPLJERR pAND#$20 zBEQJERRLDA$D20DBYTEINARTSJERRJMPERR8A-;;BYTEANLAUFWER}KSENDEN;PUTBYTPHAPUT1LDA$D20EPOKEYAND#$10BEREIT? BNEPUT1LDA#$EFIRQ-FLAGSTA$D20ESET}ZEN  LDA#$F8 STA$D20E PLA$ STA$D20DBYTESENDEN. RTS8 -B ;!L ;POKEYFUEREIN-UNDAUSGABEV ;VORB}EREITEN` ;j POKEYSTA$D20FSKCTLt STA$D20A ~ LDA#$28 STA$D208AUDCTL LDA#$A8 STA$D207SOUNDREG. } LDA#$F8 STA$D20EIRQ-ENABLE RTS - ************ **SYSTEM** ************ - ;! ;DAKEINBETRI}EBSSYSTEMVOR- ;HANDENIST,MUESSENDIE! ;INTERRUPTSSELBSTBEHANDELT  ;WERDEN.( ;NMI-ROUTINE:2 ; < PNMIPHA}F LDA$D40FRESETP AND#$20(OLDRUNNER) Z BEQ.1d JMP$100ZUMCOPYn ;x .1TXAREGISTER PHARETTEN TYA} PHA STA$D40FNMI-STATUS ;# ;TIMER1AUFNULLUEBERPRUEFEN ;WENNABGELAUFENINTIMER- ;ROUTINESPRINGEN } ; NMIVECLDY$218 BNE.1 LDY$219 BEQ.2TIMER1=0  DEC$219 .1DEC$218TIMER-1  BNE.2 " LDY!}$219 , BNE.26 JSRNMIINDTIMEOUT... @ .2LDA#8J STA$D01FT PLAREGISTER^ TAYZURUECKh PLAr TAX| PL"}A RTINMIENDE -! NMIINDJMP($226)TIMER1VEC. - ; ;IRQ-VECTOR ; RETIRQPHA LDA$D20EIRQ-FLAG#} EOR#$FFLOESCHEN STA$D20E LDA#0 STA$D20E PLA RTIIRQENDE -RETIRQPHA LDA$D20EIRQ-FLAG[//xԅ0) Ӡ0<`/ȌD Ȅ LxԩԙЙ)!%} ө"ԩ ԩԩҩ@ L4?pppFXG0@FXpBr00ppPp p p FXFlFXAsectorcopyQNTɀ׀!&} 倀倀!'}À򀀀xԩԠЈv( u(t @ʎӠhh n@hӠzh@!(}:h n@z0zhLP)#z`LHD@ j bLr!p @!!)} b!prqs   /riginal,aufwerk$0 :iel,aufwerk$l'x ^ 3peicherj)`JJJh!*}i i i zrzv'} ٯY6on2amdiskschreibenLpq$} ٯY,aufwerkeaustauschenꠥ ٳ!+}Y&ormatierent .%). *! ٳY$iskettekopieren >SXvpqqp  rss!,}rL˄;~<=|?x xbr7;LtItL pEq|?7~7˅;x 27;u`ʆa| ' !-}%L ~0LfS"(@# p { $ensity)})>) } 3).',%L6> -%$)5- $/5",%|,t!.}($s$ 8 0 "#q { 2L ?`daep!$( 789 a987َ'@#`*a+R" 7 `"$ 2!/}L !i( `bac|' %J LL d`eaq!$pi~@?:r`:`VY€kkkkkkk!5}kkkkk(((t$%(8``hChDCDCrlCr!6}`Ҡ  >`ʎ @ ԌЈM`!?"(@#  ɋ !!8``!`! 0:!7}";*<+=ҩҺu60:2344 $2%3(4$#  $#P Mҥ 0#` # 2!8}1 4 2 L"1 ) L1 2 4 1`0,06LL"P `  < !9}AC Eн0h&' `e1i1`) ߍҩҭҍ )  `LhH)ҩh `ҍ !:}(ҩҩ`H) LHHԬ _hhh@l&HIҩh@!;}!<}!=}??(b/ 3B"BDOS SYSB)&AUTORUN SYSBOHINWEISETXTB VHINWEISELSTB_SECTOR ASMBZnCOPY1 ASMB4COPY2 ASMB(DSKSYS ASMB$SCOPY COM